-- *****************************************************************
-- Juniper-SDX-ACP-MIB
--
-- Juniper Networks Inc.
--
Juniper-SDX-ACP-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    Integer32,
    Counter32,
    Gauge32,

    TimeTicks
        FROM SNMPv2-SMI

    TEXTUAL-CONVENTION
        FROM SNMPv2-TC
        
    SnmpAdminString
        FROM SNMP-FRAMEWORK-MIB        

    MODULE-COMPLIANCE,
    OBJECT-GROUP
        FROM SNMPv2-CONF

    juniSdxMibs
        FROM Juniper-SDX-MIBS;


juniSdxAcpMib MODULE-IDENTITY
    LAST-UPDATED "200606201100Z"  -- 20-June-06

    ORGANIZATION "Juniper Networks, Inc."
    CONTACT-INFO
        "        Juniper Technical Assistance Center
                 Juniper Networks, Inc.
                 1194 N. Mathilda Avenue
                 Sunnyvale, CA 94089
                 E-mail: support@juniper.net"

    DESCRIPTION
        "MIB of the SDX Admission Control Plugin "

    REVISION "200606201100Z"  -- 20-June-06
    DESCRIPTION
    "Revision info updated."


    ::= { juniSdxMibs 12 }

-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Textual conventions
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
JuniAcpRedundStateType ::= TEXTUAL-CONVENTION
    STATUS  current
    DESCRIPTION
    "The redundancy state type of ACP"
    SYNTAX INTEGER { disabled(0),
                     master(1) ,
                     slave(2)}

-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- ACP Table
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                    
juniSdxMgmtInterface OBJECT IDENTIFIER ::= { juniSdxAcpMib 1 }

    juniAcpTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF JuniAcpEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "Table describing attributes of ACP servers."
        ::= { juniSdxMgmtInterface 1 }

    juniAcpEntry OBJECT-TYPE
        SYNTAX      JuniAcpEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "An entry describing attributes of an ACP server. This table has one 
         index: juniAcpIndex."
        INDEX   { juniAcpIndex }
        ::= { juniAcpTable 1 }

    JuniAcpEntry ::= SEQUENCE
    {
        juniAcpIndex                   Integer32,
        juniAcpUpTime                  TimeTicks,
        juniAcpThreads                 Gauge32,
        juniAcpHeapLimit               Integer32,
        juniAcpHeapUsed                Gauge32,
        juniAcpIntfTrackingEvents      Counter32,
        juniAcpIgnoredTrackingEvents   Counter32,
        juniAcpCongestionPoints        Gauge32,
        juniAcpVirtualRouters          Gauge32,
        juniAcpCPUpdateRcvd            Counter32,
        juniAcpUserUpdateRcvd          Counter32,
        juniAcpCPActiveUpdate          Counter32,
        juniAcpUserActiveUpdate        Counter32,
        juniAcpFilteredUpdate          Counter32,
        juniAcpReadyToSyncRcvd         Counter32,
        juniAcpSyncCompletedRcvd       Counter32,
        juniAcpSyncEventsRcvd          Counter32,
        juniAcpOutOfSyncSent           Counter32,
        juniAcpRedundState             JuniAcpRedundStateType
    }

    juniAcpIndex OBJECT-TYPE
        SYNTAX      Integer32 (0..10000)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The number of the slot on which the ACP is running."
        ::= { juniAcpEntry 1 } 

    juniAcpUpTime OBJECT-TYPE
        SYNTAX     TimeTicks
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "The time (in hundredths of a second) since the ACP was last started."
        ::= { juniAcpEntry 2 }

    juniAcpThreads OBJECT-TYPE
        SYNTAX     Gauge32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "The number of Java threads that currently exist inside the ACP's
         Java Virtual Machine."
        ::= { juniAcpEntry 3 }

    juniAcpHeapLimit OBJECT-TYPE
        SYNTAX      Integer32
        UNITS       "kilobytes"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The maximum heap memory (in kilobytes) available for use by this ACP's
         Java Virtual Machine."
        ::= { juniAcpEntry 4 }

    juniAcpHeapUsed OBJECT-TYPE
        SYNTAX      Gauge32
        UNITS       "kilobytes"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The amount of used heap space out of the total available to the
         Java Virtual Machine."
        ::= { juniAcpEntry 5 }

    juniAcpIntfTrackingEvents OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The number of interface tracking events received by the ACP."
        ::= { juniAcpEntry 6 }

    juniAcpIgnoredTrackingEvents OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The number of interface tracking events ignored by the ACP."
        ::= { juniAcpEntry 7 }

    juniAcpCongestionPoints OBJECT-TYPE
        SYNTAX      Gauge32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
        "The number of congestion points currently managed by the ACP."
        ::= { juniAcpEntry 8 }

    juniAcpVirtualRouters OBJECT-TYPE
        SYNTAX     Gauge32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "The number of virtual routers currently managed by the ACP."
        ::= { juniAcpEntry 9 }

    juniAcpCPUpdateRcvd OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "The number of congestion point update events received by the ACP."
        ::= { juniAcpEntry 10 }

    juniAcpUserUpdateRcvd OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "The number of subscriber update events received by the ACP."
        ::= { juniAcpEntry 11 }

    juniAcpCPActiveUpdate OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "The number of congestion point update information kept in the ACP 
         memory."
        ::= { juniAcpEntry 12 }
        
    juniAcpUserActiveUpdate OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "The number of subscriber update information kept in the ACP memory."
        ::= { juniAcpEntry 13 }
        
    juniAcpFilteredUpdate OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "The number of update events being filtered out."
        ::= { juniAcpEntry 14 }

    juniAcpReadyToSyncRcvd OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "The number of readyToSync events received from SAE."
        ::= { juniAcpEntry 15 }

    juniAcpSyncCompletedRcvd OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "The number of syncComplete events received from SAE."
        ::= { juniAcpEntry 16 }

    juniAcpSyncEventsRcvd OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "The number of synchronization events received from SAE. It only counts 
        the events send in bulk."
        ::= { juniAcpEntry 17 }

    juniAcpOutOfSyncSent OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "The number of out-of-sync events sent to SAE by the ACP."
        ::= { juniAcpEntry 18 }

    juniAcpRedundState OBJECT-TYPE
        SYNTAX     JuniAcpRedundStateType
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "The current redundancy state of the ACP."
        ::= { juniAcpEntry 19 }
 
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
--   
-- ACP Virutal Router Table
--  
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    juniAcpVirtualRouterTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF JuniAcpVirtualRouterEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "Table describing attributes of virtual routers managed by the ACP."
        ::= { juniSdxMgmtInterface 2 }

    juniAcpVirtualRouterEntry OBJECT-TYPE
        SYNTAX      JuniAcpVirtualRouterEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "An entry describing attributes of a virtual router managed by the ACP. 
         This table is indexed by: juniAcpIndex and 
         juniAcpVirtualRouterName. juniAcpIndex is the number of the slot 
         on which the ACP is running."
        INDEX   { juniAcpIndex,
                 IMPLIED juniAcpVirtualRouterName}
        ::= { juniAcpVirtualRouterTable 1 }

    JuniAcpVirtualRouterEntry ::= SEQUENCE
    {
        juniAcpVirtualRouterName         SnmpAdminString,
        juniAcpUserSessions              Gauge32,
        juniAcpServiceSessions           Gauge32,
        juniAcpBackboneServices          Gauge32,
        juniAcpStartSvcEventsRcvd        Counter32,
        juniAcpStartUserEventsRcvd       Counter32,
        juniAcpStopSvcEventsRcvd         Counter32,
        juniAcpStopUserEventsRcvd        Counter32,
        juniAcpInterimSvcEventsRcvd      Counter32,
        juniAcpSvcAuthEventsRcvd         Counter32,
        juniAcpSvcAuthDenied             Counter32,
        juniAcpSvcAuthGranted            Counter32,
        juniAcpStartSvcEventProcTime     TimeTicks,
        juniAcpStopSvcEventProcTime      TimeTicks,
        juniAcpStartUserEventProcTime    TimeTicks,
        juniAcpStopUserEventProcTime     TimeTicks,
        juniAcpInterimSvcEventProcTime   TimeTicks
    }
    
    juniAcpVirtualRouterName OBJECT-TYPE
        SYNTAX     SnmpAdminString (SIZE(1..64))
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "The name of the virtual router managed by the ACP."
        ::= { juniAcpVirtualRouterEntry 1 }

    juniAcpUserSessions OBJECT-TYPE
        SYNTAX     Gauge32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "The number of user sessions of the virtual router that are currently
         managed by the ACP."
        ::= { juniAcpVirtualRouterEntry 2 }
        
    juniAcpServiceSessions OBJECT-TYPE
        SYNTAX     Gauge32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "The number of service sessions of the virtual router that are 
         currently managed by the ACP."
        ::= { juniAcpVirtualRouterEntry 3 }
        
    juniAcpBackboneServices OBJECT-TYPE
        SYNTAX     Gauge32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "The number of backbone services that are currently in use in the 
         virtual router."
        ::= { juniAcpVirtualRouterEntry 4 }
        
    juniAcpStartSvcEventsRcvd OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "The number of Stop ServiceTracking events received by the ACP."
        ::= { juniAcpVirtualRouterEntry 5 }
        
    juniAcpStartUserEventsRcvd OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "The number of Start UserTracking events received by the ACP."
        ::= { juniAcpVirtualRouterEntry 6 }
        
    juniAcpStopSvcEventsRcvd OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "The number of Stop ServiceTracking events received by the ACP."
        ::= { juniAcpVirtualRouterEntry 7 }
        
    juniAcpStopUserEventsRcvd OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "The number of Stop UserTracking events received by the ACP."
        ::= { juniAcpVirtualRouterEntry 8 }
        
    juniAcpInterimSvcEventsRcvd OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "The number of Interim ServiceTracking events received by the ACP."
        ::= { juniAcpVirtualRouterEntry 9 }
        
    juniAcpSvcAuthEventsRcvd OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "The number of service authentication requests received by the ACP."
        ::= { juniAcpVirtualRouterEntry 10 }
        
    juniAcpSvcAuthDenied OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "The number of service authentication requests denied by the ACP."
        ::= { juniAcpVirtualRouterEntry 11 }
        
    juniAcpSvcAuthGranted OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "The number of service authentication requests granted by the ACP."
        ::= { juniAcpVirtualRouterEntry 12 }
        
    juniAcpStartSvcEventProcTime OBJECT-TYPE
        SYNTAX     TimeTicks
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "The total time that the ACP has spent processing Start ServiceTracking 
         events of subscribers from the virtual router."
        ::= { juniAcpVirtualRouterEntry 13 }
        
    juniAcpStopSvcEventProcTime OBJECT-TYPE
        SYNTAX     TimeTicks     
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "The total time that the ACP has spent processing Stop ServiceTracking 
         events of subscribers from the virtual router."
        ::= { juniAcpVirtualRouterEntry 14 }
        
    juniAcpStartUserEventProcTime OBJECT-TYPE
        SYNTAX     TimeTicks
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "The total time that the ACP has spent processing Start UserTracking 
         events of subscribers from the virtual router."
        ::= { juniAcpVirtualRouterEntry 15 }
        
    juniAcpStopUserEventProcTime OBJECT-TYPE
        SYNTAX     TimeTicks     
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "The total time that the ACP has spent processing Stop UserTracking 
         events of subscribers from the virtual router."
        ::= { juniAcpVirtualRouterEntry 16 }
        
    juniAcpInterimSvcEventProcTime OBJECT-TYPE
        SYNTAX     TimeTicks        
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "The total time that the ACP has spent processing Interim 
         ServiceTracking events of subscribers from the virtual router."
        ::= { juniAcpVirtualRouterEntry 17 }

-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
--   
-- ACP DataMgr Table
--  
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    juniAcpDataMgrTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF JuniAcpDataMgrEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "Table describing attributes of virtual routers managed by the ACP."
        ::= { juniSdxMgmtInterface 3 }

    juniAcpDataMgrEntry OBJECT-TYPE
        SYNTAX      JuniAcpDataMgrEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "An entry describing attributes of ACP DataMgr. This table is 
         indexed by: juniAcpIndex. juniAcpIndex is the number of the slot 
         on which the ACP is running. Each ACP server has only one DataMgr 
         entry."
        INDEX   { juniAcpIndex}
        ::= { juniAcpDataMgrTable 1 }

    JuniAcpDataMgrEntry ::= SEQUENCE
    {
        juniAcpDataMgrUsersRead          Counter32,
        juniAcpDataMgrServicesRead       Counter32,
        juniAcpDataMgrCPsRead            Counter32,
        juniAcpDataMgrCPProfilesRead     Counter32,
        juniAcpDataMgrCPObjectsRead      Counter32
    }
    
    juniAcpDataMgrUsersRead OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "The number of users read from the user repository by the ACP during 
         the life of this ACP server. This is incremented every time any user
         is read, regardless of whether it has been read from the repository
         previously."
        ::= { juniAcpDataMgrEntry 1 }
        
    juniAcpDataMgrServicesRead OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "The number of services read from the service repository by the ACP
         during the life of this ACP server. This is incremented every time 
         any service is read, regardless of whether it has been read from the
         repository previously."
        ::= { juniAcpDataMgrEntry 2 }
        
    juniAcpDataMgrCPsRead OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "The number of congestion points read from the congestion point 
         repository by the ACP during the life of this ACP server. This is 
         incremented every time any congestion point is read, regardless of 
         whether it has been read from the repository previously."
        ::= { juniAcpDataMgrEntry 3 }
        
    juniAcpDataMgrCPProfilesRead OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "The number of congestion point profiles read from the congestion point 
         profile repository by the ACP during the life of this ACP server. This
         is incremented every time any congestion point profile is read, 
         regardless of whether it has been read from the repository previously."
        ::= { juniAcpDataMgrEntry 4 }
        
    juniAcpDataMgrCPObjectsRead OBJECT-TYPE
        SYNTAX     Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
        "The number of congestion point objects read from the congestion point 
         object repository by the ACP during the life of this ACP server. This
         is incremented every time any congestion point object is read, 
         regardless of whether it has been read from the repository previously."
        ::= { juniAcpDataMgrEntry 5 }
        
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
--
-- Conformance information
--
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

juniSdxAcpCompliances OBJECT IDENTIFIER ::= { juniSdxAcpMib 2 }
juniSdxAcpGroups      OBJECT IDENTIFIER ::= { juniSdxAcpMib 3 }

-- compliance statements

juniSdxAcpCompliance MODULE-COMPLIANCE
        STATUS  current
        DESCRIPTION
                "The compliance statement for entities which implement
                the SDX ACP MIB."
        MODULE  -- this module
                MANDATORY-GROUPS { juniSdxAcpGroup }
        ::= { juniSdxAcpCompliances 1 }

juniSdxAcpGroup OBJECT-GROUP
    OBJECTS
    {
        -- ACP Table
        juniAcpIndex,
        juniAcpUpTime,
        juniAcpThreads,
        juniAcpHeapLimit,
        juniAcpHeapUsed,
        juniAcpIntfTrackingEvents,
        juniAcpIgnoredTrackingEvents,
        juniAcpCongestionPoints,
        juniAcpVirtualRouters,
        juniAcpCPUpdateRcvd,
        juniAcpUserUpdateRcvd,
        juniAcpCPActiveUpdate,
        juniAcpUserActiveUpdate,
        juniAcpFilteredUpdate,
        juniAcpReadyToSyncRcvd,
        juniAcpSyncCompletedRcvd,
        juniAcpSyncEventsRcvd,
        juniAcpOutOfSyncSent,
        juniAcpRedundState,        
        -- ACP Virtual Router Table
        juniAcpVirtualRouterName,
        juniAcpUserSessions,
        juniAcpServiceSessions,
        juniAcpBackboneServices,
        juniAcpStartSvcEventsRcvd,
        juniAcpStartUserEventsRcvd,
        juniAcpStopSvcEventsRcvd,
        juniAcpStopUserEventsRcvd,
        juniAcpInterimSvcEventsRcvd,
        juniAcpSvcAuthEventsRcvd,
        juniAcpSvcAuthDenied,
        juniAcpSvcAuthGranted,
        juniAcpStartSvcEventProcTime,
        juniAcpStopSvcEventProcTime,
        juniAcpStartUserEventProcTime,
        juniAcpStopUserEventProcTime,
        juniAcpInterimSvcEventProcTime,
        -- ACP Data Mgr Table
        juniAcpDataMgrUsersRead,
        juniAcpDataMgrServicesRead,
        juniAcpDataMgrCPsRead,
        juniAcpDataMgrCPProfilesRead,
        juniAcpDataMgrCPObjectsRead 
    }
    STATUS  current
    DESCRIPTION
        "A collection of management objects pertaining
        to system management capabilities in SDX. (ACP)"
        ::= { juniSdxAcpGroups 1 }


END